package com.master.bd;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Iterator;

import com.master.ed.ControladoriaED;
import com.master.ed.Nota_Fiscal_CompraED;
import com.master.root.FormataDataBean;
import com.master.util.Excecoes;
import com.master.util.JavaUtil;
import com.master.util.SeparaEndereco;
import com.master.util.Valor;
import com.master.util.Data;
import com.master.util.bd.ExecutaSQL;
import com.master.util.bd.Transacao;


public class ControladoriaBD extends Transacao {

  private ExecutaSQL executasql;

  public ControladoriaBD(ExecutaSQL sql) {
    this.executasql = sql;
  }
  FormataDataBean dataFormatada = new FormataDataBean();
  Data data = new Data();


 public ArrayList gera_DRE_Controladoria_Faturamento(ControladoriaED edComp)throws Excecoes{

	   String sql = null;
	   ArrayList list = new ArrayList();
	   ControladoriaED ed = (ControladoriaED)edComp;
	   FormataDataBean DataFormatada = new FormataDataBean ();

	     try{
	    	 sql = " select contas.cd_conta,contas.nm_conta, date_part('MONTH',conhecimentos.dt_emissao) as nr_mes_emissao, " +
		 	 		"       sum(conhecimentos.vl_total_frete) as vl_total_frete, " +
		 	 		"       sum(conhecimentos.vl_pedagio) as vl_pedagio, " +
		 	 		"       sum(conhecimentos.vl_icms) as vl_icms " +
		 	 	   " from conhecimentos, unidades, contas " +
		 	 	   " where conhecimentos.oid_unidade = unidades.oid_unidade " +
		 	 	   " and unidades.oid_conta = contas.oid_conta " +
		 	 	   " and conhecimentos.dm_impresso='S' " +
		 	 	   " and conhecimentos.vl_total_frete > 0 " +
		 	 	   " AND Conhecimentos.dm_Situacao in ('G','F','Q','B') " +
		 	 	   " and conhecimentos.vl_total_frete > 0 " +
		 	 	   " and (conhecimentos.dm_tipo_documento = 'C' or (conhecimentos.dm_tipo_documento = 'M' and conhecimentos.nr_recibo > 0))" +
		 	 	   " AND Conhecimentos.dt_emissao >= '" + ed.getDT_Inicial() + "'" +
		            " AND Conhecimentos.dt_emissao <= '" + ed.getDT_Final() + "'" ;

		 	 if (ed.getOid_Unidade() >0)
		 		 sql += " and Conhecimentos.oid_Unidade = " + ed.getOid_Unidade() ;

		 	 sql +=" group by contas.cd_conta, contas.nm_conta,  date_part('MONTH',conhecimentos.dt_emissao) " +
		            " order by contas.cd_conta, contas.nm_conta,  date_part('MONTH',conhecimentos.dt_emissao) " ;
		 	 // (sql);
		 	 ResultSet res = null;
		      res = this.executasql.executarConsulta(sql);
			 ControladoriaED edVolta = new ControladoriaED();

			 String nr_mes_emissao = null;
			 String conta = "";
			edVolta = new ControladoriaED();
		      while (res.next()){

		     	 nr_mes_emissao = res.getString ("nr_mes_emissao");

		     	 if(conta.equals("") || conta.equals(res.getString("nm_conta"))){
		     		 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_janeiro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_janeiro(res.getDouble("vl_pedagio"));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_fevereiro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_fevereiro(res.getDouble("vl_pedagio"));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_marco(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_marco(res.getDouble("vl_pedagio"));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_abril(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_abril(res.getDouble("vl_pedagio"));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_maio(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_maio(res.getDouble("vl_pedagio"));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_junho(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_junho(res.getDouble("vl_pedagio"));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_julho(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_julho(res.getDouble("vl_pedagio"));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_agosto(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_agosto(res.getDouble("vl_pedagio"));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_setembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_setembro(res.getDouble("vl_pedagio"));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_outubro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_outubro(res.getDouble("vl_pedagio"));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_novembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_novembro(res.getDouble("vl_pedagio"));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_dezembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_dezembro(res.getDouble("vl_pedagio"));
			        	 }
		     	 } else {
		     		 edVolta.setNM_Fantasia(conta);
		     		 list.add(edVolta);
		         	 edVolta = new ControladoriaED();
		         	 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_janeiro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_janeiro(res.getDouble("vl_pedagio"));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_fevereiro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_fevereiro(res.getDouble("vl_pedagio"));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_marco(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_marco(res.getDouble("vl_pedagio"));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_abril(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_abril(res.getDouble("vl_pedagio"));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_maio(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_maio(res.getDouble("vl_pedagio"));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_junho(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_junho(res.getDouble("vl_pedagio"));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_julho(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_julho(res.getDouble("vl_pedagio"));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_agosto(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_agosto(res.getDouble("vl_pedagio"));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_setembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_setembro(res.getDouble("vl_pedagio"));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_outubro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_outubro(res.getDouble("vl_pedagio"));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_novembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_novembro(res.getDouble("vl_pedagio"));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_dezembro(res.getDouble("vl_total_frete"));
				             edVolta.setVl_deducao_dezembro(res.getDouble("vl_pedagio"));
			        	 }
		     	 }
		     	 conta = res.getString("nm_conta");
		     	 if(res.isLast()){
		     		 edVolta.setNM_Fantasia(conta);
		     		 list.add(edVolta);
		     	 }

		      }

		      sql =  " select unidades.nm_unidade_contabil, date_part('MONTH',notas_fiscais.dt_emissao) as nr_mes_emissao, " +
			 	 	    "       sum(Notas_Fiscais.vl_nota_fiscal) as vl_nota_fiscal, " +
			 	 	    "       sum(Notas_Fiscais.vl_isqn) as vl_issqn " +
			     		" FROM Notas_Fiscais, modelos_notas_fiscais, unidades  ";
			     sql += " WHERE Notas_Fiscais.dt_emissao >= '" + ed.getDT_Inicial () + "'";
			     sql += " AND Notas_Fiscais.dt_emissao <= '" + ed.getDT_Final () + "'";
			     sql += " AND Notas_Fiscais.dm_situacao <> 'C' ";
			     sql += " AND Notas_Fiscais.dm_impresso = 'S' "+
			     		"  AND Notas_Fiscais.oid_modelo_nota_fiscal = modelos_notas_fiscais.oid_modelo_nota_fiscal" +
			      		"  AND modelos_notas_fiscais.dm_permite_servico = 'S'" +
			      		"  and Notas_Fiscais.oid_unidade_fiscal = Unidades.oid_unidade";

			     if (ed.getOid_Unidade() >0)
		 		 sql += " and Notas_Fiscais.oid_unidade_fiscal = " + ed.getOid_Unidade() ;

		 	 sql += " group by unidades.nm_unidade_contabil,  date_part('MONTH',notas_fiscais.dt_emissao) " +
		 	 		" order by unidades.nm_unidade_contabil,  date_part('MONTH',notas_fiscais.dt_emissao) " ;

		         // (sql);

		 	 ResultSet resNF = executasql.executarConsulta (sql);
		 	 String un = "";
		 	 edVolta = new ControladoriaED();
			     while (resNF.next ()) {

		     	 nr_mes_emissao = resNF.getString ("nr_mes_emissao");
		     	 if(un.equals("") || un.equals(resNF.getString("nm_unidade_contabil"))){
		     		 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_janeiro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_fevereiro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_marco(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_abril(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_maio(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_junho(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_julho(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_agosto(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_setembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_outubro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_novembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_dezembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }
		     	 } else {
		     		 edVolta.setNM_Fantasia(un);
		     		 list.add(edVolta);
		         	 edVolta = new ControladoriaED();
		         	 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_janeiro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_fevereiro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_marco(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_abril(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_maio(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_junho(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_julho(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_agosto(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_setembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_outubro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_novembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_total_receita_dezembro(resNF.getDouble("vl_nota_fiscal"));
			        	 }
		     	 }
		          un=resNF.getString("nm_unidade_contabil");
		          if(resNF.isLast()){
		     		 edVolta.setNM_Fantasia(un);
		     		 list.add(edVolta);
		     	 }
			 }

		     // Agora pega novamente o resNF das notas para pegar o ISSQN
		     resNF.beforeFirst();
		     edVolta = new ControladoriaED();
		     while (resNF.next ()) {

		        	 nr_mes_emissao = resNF.getString ("nr_mes_emissao");

		        	 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_janeiro(edVolta.getVl_issqn_janeiro() + resNF.getDouble("vl_issqn"));
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_fevereiro(edVolta.getVl_issqn_fevereiro() + resNF.getDouble("vl_issqn"));
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_marco(edVolta.getVl_issqn_marco() + resNF.getDouble("vl_issqn"));
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_abril(edVolta.getVl_issqn_abril() + resNF.getDouble("vl_issqn"));
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_maio(edVolta.getVl_issqn_maio() + resNF.getDouble("vl_issqn"));
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_junho(edVolta.getVl_issqn_junho() + resNF.getDouble("vl_issqn"));
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_julho(edVolta.getVl_issqn_julho() + resNF.getDouble("vl_issqn"));
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_agosto(edVolta.getVl_issqn_agosto() + resNF.getDouble("vl_issqn"));
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_setembro(edVolta.getVl_issqn_setembro() + resNF.getDouble("vl_issqn"));
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_outubro(edVolta.getVl_issqn_outubro() + resNF.getDouble("vl_issqn"));
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_novembro(edVolta.getVl_issqn_novembro() + resNF.getDouble("vl_issqn"));
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_issqn_dezembro(edVolta.getVl_issqn_dezembro() + resNF.getDouble("vl_issqn"));
		        	 }
		             edVolta.setNM_Fantasia("ISSQN");

		             if (resNF.isLast()){
			             list.add(edVolta);
		             }
			     }

	          String sqlLocal = "select (pe_aliquota_cofins/100) as pe_aliquota_cofins, (pe_aliquota_pis/100) as pe_aliquota_pis from taxas limit 1 ";

	          ResultSet resLocal = this.executasql.executarConsulta (sqlLocal);
        	  double pe_aliquota_cofins = 0;
        	  double pe_aliquota_pis = 0;

	          while (resLocal.next ()) {
	        	  pe_aliquota_cofins = resLocal.getDouble("pe_aliquota_cofins");
	        	  pe_aliquota_pis = resLocal.getDouble("pe_aliquota_pis");
	          }

		     // Agora pega novamente o res dos CTRCs para pegar o COFINS

	         res.beforeFirst();
	         edVolta = new ControladoriaED();
		     while (res.next ()) {

		        	 nr_mes_emissao = res.getString ("nr_mes_emissao");

		        	 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_janeiro(edVolta.getVl_cofins_janeiro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_fevereiro(edVolta.getVl_cofins_fevereiro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_marco(edVolta.getVl_cofins_marco() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_abril(edVolta.getVl_cofins_abril() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_maio(edVolta.getVl_cofins_maio() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_junho(edVolta.getVl_cofins_junho() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_julho(edVolta.getVl_cofins_julho() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_agosto(edVolta.getVl_cofins_agosto() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_setembro(edVolta.getVl_cofins_setembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_outubro(edVolta.getVl_cofins_outubro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_novembro(edVolta.getVl_cofins_novembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_cofins_dezembro(edVolta.getVl_cofins_dezembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
		        	 }
		             edVolta.setNM_Fantasia("COFINS");

		             if (res.isLast()){
			             list.add(edVolta);
		             }
		     }

		     // Agora pega novamente o res dos CTRCs para pegar o PIS
	         res.beforeFirst();
	         edVolta = new ControladoriaED();
		     while (res.next ()) {

		        	 nr_mes_emissao = res.getString ("nr_mes_emissao");

		        	 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_janeiro(edVolta.getVl_pis_janeiro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_fevereiro(edVolta.getVl_pis_fevereiro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_marco(edVolta.getVl_pis_marco() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_abril(edVolta.getVl_pis_abril() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_maio(edVolta.getVl_pis_maio() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_junho(edVolta.getVl_pis_junho() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_julho(edVolta.getVl_pis_julho() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_agosto(edVolta.getVl_pis_agosto() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_setembro(edVolta.getVl_pis_setembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_outubro(edVolta.getVl_pis_outubro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_novembro(edVolta.getVl_pis_novembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_pis_dezembro(edVolta.getVl_pis_dezembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
		        	 }
		             edVolta.setNM_Fantasia("PIS");

		             if (res.isLast()){
			             list.add(edVolta);
		             }
		     }

		     // Agora pega novamente o res dos CTRCs para pegar o ICMS
	         res.beforeFirst();
	         conta = "";
	         edVolta = new ControladoriaED();
		     while (res.next()){

		    	 nr_mes_emissao = res.getString ("nr_mes_emissao");
			     	if(conta.equals("") || conta.equals(res.getString("nm_conta"))){
			     		if ("1".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_janeiro(res.getDouble("vl_icms"));
			     	 }else if ("2".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_fevereiro(res.getDouble("vl_icms"));
			     	 }else if ("3".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_marco(res.getDouble("vl_icms"));
			     	 }else if ("4".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_abril(res.getDouble("vl_icms"));
			     	 }else if ("5".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_maio(res.getDouble("vl_icms"));
			     	 }else if ("6".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_junho(res.getDouble("vl_icms"));
			     	 }else if ("7".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_julho(res.getDouble("vl_icms"));
			     	 }else if ("8".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_agosto(res.getDouble("vl_icms"));
			     	 }else if ("9".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_setembro(res.getDouble("vl_icms"));
			     	 }else if ("10".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_outubro(res.getDouble("vl_icms"));
			     	 }else if ("11".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_novembro(res.getDouble("vl_icms"));
			     	 }else if ("12".equals(nr_mes_emissao)){
				             edVolta.setVl_icms_dezembro(res.getDouble("vl_icms"));
			     	 }
			     	 } else {
			     		edVolta.setNM_Fantasia("ICMS S/ Vendas " + conta.substring(18,conta.length()));
			     		 list.add(edVolta);
			         	 edVolta = new ControladoriaED();
			         	if ("1".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_janeiro(res.getDouble("vl_icms"));
				     	 }else if ("2".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_fevereiro(res.getDouble("vl_icms"));
				     	 }else if ("3".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_marco(res.getDouble("vl_icms"));
				     	 }else if ("4".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_abril(res.getDouble("vl_icms"));
				     	 }else if ("5".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_maio(res.getDouble("vl_icms"));
				     	 }else if ("6".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_junho(res.getDouble("vl_icms"));
				     	 }else if ("7".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_julho(res.getDouble("vl_icms"));
				     	 }else if ("8".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_agosto(res.getDouble("vl_icms"));
				     	 }else if ("9".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_setembro(res.getDouble("vl_icms"));
				     	 }else if ("10".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_outubro(res.getDouble("vl_icms"));
				     	 }else if ("11".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_novembro(res.getDouble("vl_icms"));
				     	 }else if ("12".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_dezembro(res.getDouble("vl_icms"));
				     	 }
			     	 }
			     	 conta = res.getString("nm_conta");
			     	 if(res.isLast()){
			     		 edVolta.setNM_Fantasia("ICMS S/ Vendas " + conta.substring(18,conta.length()));
			     		 list.add(edVolta);
			     	 }

		     }

	     } catch (Exception e) {
	    	 e.printStackTrace();
	    	 throw new Excecoes("erro ao exportar Lancamentos.");
		}
	     return list;
}

 public ArrayList relDRE_Controladoria_Faturamento(ControladoriaED edComp)throws Excecoes{

	   String sql = null;
	   ArrayList list = new ArrayList();
	   ControladoriaED ed = (ControladoriaED)edComp;
	   FormataDataBean DataFormatada = new FormataDataBean ();

	     try{
	    	 sql = " select contas.cd_conta,contas.nm_conta, date_part('MONTH',conhecimentos.dt_emissao) as nr_mes_emissao, " +
	    	 		"       sum(conhecimentos.vl_total_frete) as vl_total_frete, " +
	    	 		"       sum(conhecimentos.vl_pedagio) as vl_pedagio, " +
	    	 		"       sum(conhecimentos.vl_icms) as vl_icms " +
	    	 	   " from conhecimentos, unidades, contas " +
	    	 	   " where conhecimentos.oid_unidade = unidades.oid_unidade " +
	    	 	   " and unidades.oid_conta = contas.oid_conta " +
	    	 	   " and conhecimentos.dm_impresso='S' " +
	    	 	   " and conhecimentos.vl_total_frete > 0 " +
	    	 	   " AND Conhecimentos.dm_Situacao in ('G','F','Q','B') " +
	    	 	   " and conhecimentos.vl_total_frete > 0 " +
	    	 	   " and (conhecimentos.dm_tipo_documento = 'C' or (conhecimentos.dm_tipo_documento = 'M' and conhecimentos.nr_recibo > 0))" +
	    	 	   " AND Conhecimentos.dt_emissao >= '" + ed.getDT_Inicial() + "'" +
	               " AND Conhecimentos.dt_emissao <= '" + ed.getDT_Final() + "'" ;

	    	 if (ed.getOid_Unidade() >0)
	    		 sql += " and Conhecimentos.oid_Unidade = " + ed.getOid_Unidade() ;

	    	 sql +=" group by contas.cd_conta, contas.nm_conta,  date_part('MONTH',conhecimentos.dt_emissao) " +
	               " order by contas.cd_conta, contas.nm_conta,  date_part('MONTH',conhecimentos.dt_emissao) " ;
// // (sql);
	    	 ResultSet res = null;
	         res = this.executasql.executarConsulta(sql);
      	 ControladoriaED edVolta = new ControladoriaED();

      	 String nr_mes_emissao = null;
      	 String conta = "";
      	edVolta = new ControladoriaED();
	         while (res.next()){

	        	 nr_mes_emissao = res.getString ("nr_mes_emissao");

	        	 if(conta.equals("") || conta.equals(res.getString("nm_conta"))){
	        		 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_janeiro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_janeiro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_fevereiro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_fevereiro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_marco(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_marco(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_abril(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_abril(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_maio(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_maio(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_junho(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_junho(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_julho(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_julho(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_agosto(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_agosto(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_setembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_setembro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_outubro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_outubro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_novembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_novembro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_dezembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_dezembro(res.getDouble("vl_pedagio")*-1);
		        	 }
	        	 } else {
	        		 edVolta.setNM_Fantasia(conta);
	        		 list.add(edVolta);
	            	 edVolta = new ControladoriaED();
	            	 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_janeiro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_janeiro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_fevereiro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_fevereiro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_marco(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_marco(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_abril(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_abril(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_maio(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_maio(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_junho(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_junho(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_julho(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_julho(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_agosto(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_agosto(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_setembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_setembro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_outubro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_outubro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_novembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_novembro(res.getDouble("vl_pedagio")*-1);
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_dezembro(res.getDouble("vl_total_frete"));
			             edVolta.setVl_deducao_dezembro(res.getDouble("vl_pedagio")*-1);
		        	 }
	        	 }
	        	 conta = res.getString("nm_conta");
	        	 if(res.isLast()){
	        		 edVolta.setNM_Fantasia(conta);
	        		 list.add(edVolta);
	        	 }

	         }

	         sql =  " select unidades.nm_unidade_contabil, date_part('MONTH',notas_fiscais.dt_emissao) as nr_mes_emissao, " +
		 	 	    "       sum(Notas_Fiscais.vl_nota_fiscal) as vl_nota_fiscal, " +
		 	 	    "       sum(Notas_Fiscais.vl_isqn) as vl_issqn " +
		     		" FROM Notas_Fiscais, modelos_notas_fiscais, unidades  ";
		     sql += " WHERE Notas_Fiscais.dt_emissao >= '" + ed.getDT_Inicial () + "'";
		     sql += " AND Notas_Fiscais.dt_emissao <= '" + ed.getDT_Final () + "'";
		     sql += " AND Notas_Fiscais.dm_situacao <> 'C' ";
		     sql += " AND Notas_Fiscais.dm_impresso = 'S' "+
		     		"  AND Notas_Fiscais.oid_modelo_nota_fiscal = modelos_notas_fiscais.oid_modelo_nota_fiscal" +
		      		"  AND modelos_notas_fiscais.dm_permite_servico = 'S'" +
		      		"  and Notas_Fiscais.oid_unidade_fiscal = Unidades.oid_unidade";

		     if (ed.getOid_Unidade() >0)
	    		 sql += " and Notas_Fiscais.oid_unidade_fiscal = " + ed.getOid_Unidade() ;

	    	 sql += " group by unidades.nm_unidade_contabil,  date_part('MONTH',notas_fiscais.dt_emissao) " +
	    	 		" order by unidades.nm_unidade_contabil,  date_part('MONTH',notas_fiscais.dt_emissao) " ;

// (sql);

	    	 ResultSet resNF = executasql.executarConsulta (sql);
	    	 String un = "";
	    	 edVolta = new ControladoriaED();
		     while (resNF.next ()) {

	        	 nr_mes_emissao = resNF.getString ("nr_mes_emissao");
	        	 if(un.equals("") || un.equals(resNF.getString("nm_unidade_contabil"))){
	        		 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_janeiro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_fevereiro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_marco(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_abril(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_maio(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_junho(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_julho(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_agosto(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_setembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_outubro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_novembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_dezembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }
	        	 } else {
	        		 edVolta.setNM_Fantasia(un);
	        		 list.add(edVolta);
	            	 edVolta = new ControladoriaED();
	            	 if ("1".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_janeiro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("2".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_fevereiro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("3".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_marco(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("4".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_abril(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("5".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_maio(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("6".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_junho(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("7".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_julho(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("8".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_agosto(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("9".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_setembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("10".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_outubro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("11".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_novembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }else if ("12".equals(nr_mes_emissao)){
			        	 edVolta.setVl_total_receita_dezembro(resNF.getDouble("vl_nota_fiscal"));
		        	 }
	        	 }
	             un=resNF.getString("nm_unidade_contabil");
	             if(resNF.isLast()){
	        		 edVolta.setNM_Fantasia(un);
	        		 list.add(edVolta);
	        	 }
		     }

		     if(!ed.getDM_Modelo_Relatorio().equals("1")){

		    	 Iterator it = list.iterator();
			      double jan=0,fev=0,mar=0,abr=0,mai=0,jun=0,jul=0,ago=0,set=0,out=0,nov=0,dez=0;
			      while(it.hasNext()){
			    	  ControladoriaED soma = (ControladoriaED)it.next();
			    	  jan+=soma.getVl_total_receita_janeiro()+soma.getVl_deducao_janeiro();
			    	  fev+=soma.getVl_total_receita_fevereiro()+soma.getVl_deducao_fevereiro();
			    	  mar+=soma.getVl_total_receita_marco()+soma.getVl_deducao_marco();
			    	  abr+=soma.getVl_total_receita_abril()+soma.getVl_deducao_abril();
			    	  mai+=soma.getVl_total_receita_maio()+soma.getVl_deducao_maio();
			    	  jun+=soma.getVl_total_receita_junho()+soma.getVl_deducao_junho();
			    	  jul+=soma.getVl_total_receita_julho()+soma.getVl_deducao_julho();
			    	  ago+=soma.getVl_total_receita_agosto()+soma.getVl_deducao_agosto();
			    	  set+=soma.getVl_total_receita_setembro()+soma.getVl_deducao_setembro();
			    	  out+=soma.getVl_total_receita_outubro()+soma.getVl_deducao_outubro();
			    	  nov+=soma.getVl_total_receita_novembro()+soma.getVl_deducao_novembro();
			    	  dez+=soma.getVl_total_receita_dezembro()+soma.getVl_deducao_dezembro();
			      }
//			      edVolta = new ControladoriaED();
//			      edVolta.setVl_total_receita_janeiro(jan);
//			      edVolta.setVl_total_receita_fevereiro(fev);
//			      edVolta.setVl_total_receita_marco(mar);
//			      edVolta.setVl_total_receita_abril(abr);
//			      edVolta.setVl_total_receita_maio(mai);
//			      edVolta.setVl_total_receita_junho(jun);
//			      edVolta.setVl_total_receita_julho(jul);
//			      edVolta.setVl_total_receita_agosto(ago);
//			      edVolta.setVl_total_receita_setembro(set);
//			      edVolta.setVl_total_receita_outubro(out);
//			      edVolta.setVl_total_receita_novembro(nov);
//			      edVolta.setVl_total_receita_dezembro(dez);
//			      edVolta.setNM_Fantasia("RECEITA OPERACIONAL BRUTA");
//			      list.add(edVolta);

//		    	 Agora pega novamente o resNF das notas para pegar o ISSQN
			     resNF.beforeFirst();
			     edVolta = new ControladoriaED();
			     while (resNF.next ()) {

			        	 nr_mes_emissao = resNF.getString ("nr_mes_emissao");

			        	 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_janeiro(edVolta.getVl_issqn_janeiro() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_fevereiro(edVolta.getVl_issqn_fevereiro() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_marco(edVolta.getVl_issqn_marco() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_abril(edVolta.getVl_issqn_abril() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_maio(edVolta.getVl_issqn_maio() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_junho(edVolta.getVl_issqn_junho() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_julho(edVolta.getVl_issqn_julho() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_agosto(edVolta.getVl_issqn_agosto() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_setembro(edVolta.getVl_issqn_setembro() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_outubro(edVolta.getVl_issqn_outubro() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_novembro(edVolta.getVl_issqn_novembro() + resNF.getDouble("vl_issqn")*-1);
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_issqn_dezembro(edVolta.getVl_issqn_dezembro() + resNF.getDouble("vl_issqn")*-1);
			        	 }
			             edVolta.setNM_Fantasia("ISSQN");

			             if (resNF.isLast()){
				             list.add(edVolta);
			             }
				     }

		          String sqlLocal = "select (pe_aliquota_cofins/100) as pe_aliquota_cofins, (pe_aliquota_pis/100) as pe_aliquota_pis from taxas limit 1 ";

		          ResultSet resLocal = this.executasql.executarConsulta (sqlLocal);
	      	  double pe_aliquota_cofins = 0;
	      	  double pe_aliquota_pis = 0;

		          while (resLocal.next ()) {
		        	  pe_aliquota_cofins = resLocal.getDouble("pe_aliquota_cofins")*-1;
		        	  pe_aliquota_pis = resLocal.getDouble("pe_aliquota_pis")*-1;
		          }

//			     // Agora pega novamente o res dos CTRCs para pegar o COFINS
	//
		         res.beforeFirst();
		         edVolta = new ControladoriaED();
			     while (res.next ()) {

			        	 nr_mes_emissao = res.getString ("nr_mes_emissao");

			        	 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_janeiro(edVolta.getVl_cofins_janeiro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_fevereiro(edVolta.getVl_cofins_fevereiro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_marco(edVolta.getVl_cofins_marco() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_abril(edVolta.getVl_cofins_abril() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_maio(edVolta.getVl_cofins_maio() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_junho(edVolta.getVl_cofins_junho() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_julho(edVolta.getVl_cofins_julho() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_agosto(edVolta.getVl_cofins_agosto() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_setembro(edVolta.getVl_cofins_setembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_outubro(edVolta.getVl_cofins_outubro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_novembro(edVolta.getVl_cofins_novembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_cofins_dezembro(edVolta.getVl_cofins_dezembro() + (res.getDouble("vl_total_frete") * pe_aliquota_cofins));
			        	 }
			             edVolta.setNM_Fantasia("COFINS");

			             if (res.isLast()){
				             list.add(edVolta);
			             }
			     }

//			     // Agora pega novamente o res dos CTRCs para pegar o PIS
		         res.beforeFirst();
		         edVolta = new ControladoriaED();
			     while (res.next ()) {

			        	 nr_mes_emissao = res.getString ("nr_mes_emissao");

			        	 if ("1".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_janeiro(edVolta.getVl_pis_janeiro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("2".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_fevereiro(edVolta.getVl_pis_fevereiro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("3".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_marco(edVolta.getVl_pis_marco() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("4".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_abril(edVolta.getVl_pis_abril() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("5".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_maio(edVolta.getVl_pis_maio() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("6".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_junho(edVolta.getVl_pis_junho() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("7".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_julho(edVolta.getVl_pis_julho() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("8".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_agosto(edVolta.getVl_pis_agosto() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("9".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_setembro(edVolta.getVl_pis_setembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("10".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_outubro(edVolta.getVl_pis_outubro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("11".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_novembro(edVolta.getVl_pis_novembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }else if ("12".equals(nr_mes_emissao)){
				        	 edVolta.setVl_pis_dezembro(edVolta.getVl_pis_dezembro() + (res.getDouble("vl_total_frete") * pe_aliquota_pis));
			        	 }
			             edVolta.setNM_Fantasia("PIS");

			             if (res.isLast()){
				             list.add(edVolta);
			             }
			     }
	//
//			     // Agora pega novamente o res dos CTRCs para pegar o ICMS
		         res.beforeFirst();
		         edVolta = new ControladoriaED();
		         conta="";
			     while (res.next()){
			    	 nr_mes_emissao = res.getString ("nr_mes_emissao");
				     	if(conta.equals("") || conta.equals(res.getString("nm_conta"))){
				     		if ("1".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_janeiro(res.getDouble("vl_icms")*-1);
				     	 }else if ("2".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_fevereiro(res.getDouble("vl_icms")*-1);
				     	 }else if ("3".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_marco(res.getDouble("vl_icms")*-1);
				     	 }else if ("4".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_abril(res.getDouble("vl_icms")*-1);
				     	 }else if ("5".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_maio(res.getDouble("vl_icms")*-1);
				     	 }else if ("6".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_junho(res.getDouble("vl_icms")*-1);
				     	 }else if ("7".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_julho(res.getDouble("vl_icms")*-1);
				     	 }else if ("8".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_agosto(res.getDouble("vl_icms")*-1);
				     	 }else if ("9".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_setembro(res.getDouble("vl_icms")*-1);
				     	 }else if ("10".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_outubro(res.getDouble("vl_icms")*-1);
				     	 }else if ("11".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_novembro(res.getDouble("vl_icms")*-1);
				     	 }else if ("12".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_dezembro(res.getDouble("vl_icms")*-1);
				     	 }
				     	 } else {
				     		edVolta.setNM_Fantasia("ICMS S/ Vendas " + conta.substring(18,conta.length()));
				     		 list.add(edVolta);
				     		edVolta = new ControladoriaED();
				     		if ("1".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_janeiro(res.getDouble("vl_icms")*-1);
				     	 }else if ("2".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_fevereiro(res.getDouble("vl_icms")*-1);
				     	 }else if ("3".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_marco(res.getDouble("vl_icms")*-1);
				     	 }else if ("4".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_abril(res.getDouble("vl_icms")*-1);
				     	 }else if ("5".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_maio(res.getDouble("vl_icms")*-1);
				     	 }else if ("6".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_junho(res.getDouble("vl_icms")*-1);
				     	 }else if ("7".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_julho(res.getDouble("vl_icms")*-1);
				     	 }else if ("8".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_agosto(res.getDouble("vl_icms")*-1);
				     	 }else if ("9".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_setembro(res.getDouble("vl_icms")*-1);
				     	 }else if ("10".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_outubro(res.getDouble("vl_icms")*-1);
				     	 }else if ("11".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_novembro(res.getDouble("vl_icms")*-1);
				     	 }else if ("12".equals(nr_mes_emissao)){
					             edVolta.setVl_icms_dezembro(res.getDouble("vl_icms")*-1);
				     	 }
				     	 }
				     	 conta = res.getString("nm_conta");
				     	 if(res.isLast()){
				     		 edVolta.setNM_Fantasia("ICMS S/ Vendas " + conta.substring(18,conta.length()));
				     		 list.add(edVolta);
				     	 }

			     }
		     }


	     } catch (Exception e) {
	    	 e.printStackTrace();
	    	 throw new Excecoes("erro ao exportar Lancamentos.");
		}
	     return list;
}



}
